/*
 * bsp_ds18b20.h
 *
 *  Created on: Nov 19, 2020
 *      Author: kaijunHuang
 */

#ifndef INC_BSP_DS18B20_H_
#define INC_BSP_DS18B20_H_

#include "stm32f2xx_hal.h"

//IO方向设置
#define DS18B20_IO_IN()  {GPIOA->MODER&=~(3<<(1*2));GPIOA->MODER|=0<<(1*2);}
#define DS18B20_IO_OUT() {GPIOA->MODER&=~(3<<(1*2));GPIOA->MODER|=1<<(1*2);}
////IO操作函数
#define	DS18B20_DQ_IN  HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1)   //数据端口	PA1

uint8_t DS18B20_Init(void);//初始化DS18B20
short DS18B20_Get_Temp(void);//获取温度
void DS18B20_Start(void);//开始温度转换
void DS18B20_Write_Byte(uint8_t dat);//写入一个字节
uint8_t DS18B20_Read_Byte(void);//读出一个字节
uint8_t DS18B20_Read_Bit(void);//读出一个位
uint8_t DS18B20_Check(void);//检测是否存在DS18B20
void DS18B20_Rst(void);//复位DS18B20

void delay_ms(uint16_t nms);
void delay_us(uint32_t nus);

#endif /* INC_BSP_DS18B20_H_ */
